package com.xu.dao;

import com.xu.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

public interface UserMapper {

    @Select("select * from user")
    List<User> getUsers();

    // 方法存在多个参数，所有的参数前面必须加上 @Param("id") 注解
    // sql 语句中的 #{qid} 必须和 @Param 注解中的 qid 相同
    // 对于 @Param 注解来说，基本类型的参数或者 String 类型，需要加上，而引用类型不需要加
    // 如果只有一个基本类型的话，可以忽略，但是建议大家都加上
    // 我们在 SQL 中引用的就是我们这里的 @Param 中设定的属性名
    @Select("select * from mybatis.user where id = #{qid} and name = #{name}")
    User getUserById(@Param("qid") int id, @Param("name") String name);

    @Insert("insert into mybatis.user(id,name,pwd) values (#{id}, #{name}, #{password})")
    int addUser(User user);

    @Update("update mybatis.user set name=#{name}, pwd=#{password} where id = #{id}")
    int updateUser(User user);

    @Delete("delete from mybatis.user where id = #{uid}")
    int deleteUser(@Param("uid") int id);

}
